﻿/* 公共引用头文件 */

#pragma once

//////////////////////////////////////////////////////////
//                      头文件引用
//////////////////////////////////////////////////////////
#include <iostream>
#include <string>
#include <sstream>
#include <vector>
#include <format>

#include <Windows.h>

#include "Convert.h"
#include "GlobalCommentLib.h"

//#include <ftxui/dom/elements.hpp>
//#include <ftxui/screen/screen.hpp>

#include <includes/AST_Errors.h>
#include <includes/CreateBcdBoot.h>
#include <includes/idFile.h>
#include <includes/inicpp.hpp>
#include <includes/LogModule.h>
#include <includes/magic_enum/magic_enum.hpp>
#include <includes/MountESP.h>
#include <includes/SimpleDiskPartAPI.h>
#include <includes/ThrowError.h>
#include <includes/wimlib.h>

//////////////////////////////////////////////////////////
//                       变量定义
//////////////////////////////////////////////////////////

// 日志句柄
inline ASTLOG_HANDLE LogHandle;

inline WCHAR PePartitionLetter = NULL;					//PE分区盘符
inline WCHAR RestorePartitionLetter = NULL;				//欲重装分区盘符
inline WCHAR EfiPartitionLetter = NULL;					//EFI分区盘符
inline WCHAR ShrinkPartitionLetter = NULL;				//压缩分区盘符，可为空

inline std::wstring ImageFilePath;						//映像文件路径
inline int SelectedIndex;								//索引